PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > hỏi về đồng hồ thời gian thực sử dụng DS1307 và pic16f887
PDA
View Full Version : hỏi về đồng hồ thời gian thực sử dụng DS1307 và pic16f887
tnt_bkfet27-08-2011, 01:14 PMHi, mình mới học PIC và đang làm Đồng hồ thời gian dùng pic16f887 và ds1307 hiển thị trên LCD. Mọi người cho mình hỏi, mình đã mô phỏng tên proteus chạy tốt nhưng khi cắm mạch nó không chạy, màn hình xanh hiện đủ cả 2 dòng nhưng không có chữ hay số.
Thanks!
DINH THANH SANG27-08-2011, 01:50 PMHi, mình mới học PIC và đang làm Đồng hồ thời gian dùng pic16f887 và ds1307 hiển thị trên LCD. Mọi người cho mình hỏi, mình đã mô phỏng tên proteus chạy tốt nhưng khi cắm mạch nó không chạy, màn hình xanh hiện đủ cả 2 dòng nhưng không có chữ hay số.
Thanks!
bạn gửi code và sch lên cho moị người xem thử mới biết được.
lionking27-08-2011, 03:01 PMHi, mình mới học PIC và đang làm Đồng hồ thời gian dùng pic16f887 và ds1307 hiển thị trên LCD. Mọi người cho mình hỏi, mình đã mô phỏng tên proteus chạy tốt nhưng khi cắm mạch nó không chạy, màn hình xanh hiện đủ cả 2 dòng nhưng không có chữ hay số.
Thanks!
mo phỏng mà chạy rồi thì ko phai do code chương trinh. Ban xem lai phần cứng đi, có thể là do mạch không tiép xúc hoặc đứt
tnt_bkfet27-08-2011, 03:37 PMbạn gửi code và sch lên cho moị người xem thử mới biết được.
Code và mô phỏng, bạn xem giúp mình với. Mô phỏng thì chạy tốt mỗi tội đưa ra test thử trên mạch thì không chạy.
Thanks!
tdm27-08-2011, 07:49 PMCode và mô phỏng, bạn xem giúp mình với. Mô phỏng thì chạy tốt mỗi tội đưa ra test thử trên mạch thì không chạy.
Thanks!
chưa cấu hình cho PIC thì làm sao nó chạy được.
code của bạn:
#include "16F887.h"
#include "def_877a.h"
//*************cấu hình PIC *********************
# fuses NOWDT, HS, NOPROTECT, NOLVP, PUT//thêm vào
# use delay (clock = 20000000)//thêm vào
//********************************************
#include "lcd.c" //File nay co san trong CCS
int8 second, minute, hour, date, day, month, year;
int16 year1;
int i;
// ------- Chuyen du lieu mã BINARY cua MASTER -> du lieu mã BCD cho DS1307--------
int DECIMALtoBCD(int data) // MASTER -> DS1307
{
// x -> y trong do x la du lieu cua MASTER, y la du lieu sau khi chuyen doi
// Thuat toan thuc hien bien doi tu ma DECIMAL sang ma BCD he 10
int x, y, z;
x = data;
if(x (y=9) = 0x09
{
y = x;
}
else if(x>=10) // vd: (x=29) -> (y=41) = 0x29
{
y = (x/10 * 6) + x;
}
return y;
}
// ------- Chuyen du lieu mã BCD cua DS1307 -> du lieu mã BINARY cho MASTER-------
int BCDtoDECIMAL(int data) // MASTER |